1. Field of the Invention
The present invention relates to a computer system network in general, and in particular, to a computer performance monitoring and graphing tool for collecting computer performance data, converting the performance data to graphical representations, and storing the graphical representations for on-demand viewing using a web browser.
2. Related Art
A computer system network in a production environment, whether a local area network (LAN), a wide area network (WAN), or any group of computers connected together to facilitate transfer of information between them, must be managed. In managing the network, the computer system network manager must concern herself with, among other things, the behavior and effectiveness of computer system resources and related communication activities. Managing network performance involves monitoring the performance of resources and activities in order to detect deterioration in the overall quality of the monitored parameters. Performance monitoring may also be designed to detect characteristic patterns (or trends) before service quality has dropped below an acceptable level. In furtherance of these and other objectives, the network manager tracks the network usage by gathering the appropriate computer system data for determining performance.
For the computer systems used in a production environment, parameters to be monitored include, but are not limited to, central processing unit (CPU) utilization percentage, disk drive usage, network communications packet traffic, and the number of users logged on to a server computer, for example. These parameters may be used to analyze trends in computer system network performance. The trending of performance may be over a period of hours or over a period of days. Trending is valuable because it can provide insight into normal and abnormal performance data. Trending can also provide early warnings of performance problems.
Performance monitoring is a particularly powerful tool for quantifying subtle problems, locating intermittent causes of degradation, anticipating failures that are preceded by gradual increases in error rates, and verifying the quality of production over a long period, for example. When the statistical performance of a computer drops from an acceptable level to an unacceptable level, or significantly toward an unacceptable level, repair can be started, even if a user has not reported a failure or deteriorated performance.
This is especially important when computer systems involve multiple vendors because the likelihood of faults and inefficiencies increases. The costs of fault and inefficiencies can be far reaching. For example, failures in a telecommunications network could prevent receipt of emergency (or 911) calls or could paralyze a major international airport for a significant period of time. Likewise, failures in a financial institute's computer system could result in loss of automated teller machines, domestic (or international) electronic funds transfers, and posting of the day's receipts and debits, for example. Of course, loss of life is quite an incentive for a computer system network manager to conduct performance monitoring in order to detect and quantify a decline in network performance.
Computer system networks typically have computers running with different operating systems. The multi-vendor environment of today may find performance monitoring systems responsible for monitoring the performance of mainframes running with operating systems such as MVS or VMS. Performance monitoring systems may be responsible for monitoring mid-range computers running with different versions of UNIX or VMS. Performance monitoring systems may even be responsible for monitoring microprocessors running with DOS or OS/2. Consequently, conventional performance monitoring systems must interface with each of the various operating systems. That is, conventional performance monitoring systems typically are operating system specific. A performance monitoring system that monitors a computer using UNIX may not be able to monitor a computer running DOS. Likewise, a performance monitoring system tracking performance of a computer running VMS may not be able to monitor a computer running OS/2.
Some goals of performance management in a production environment are to reduce expenses, to protect or increase revenue, and to improve service by improving the utilization of resources and the ability of the resources to meet user service level objectives. It is also desirous to accomplish the performance monitoring objectives associated with this goal in a non-intrusive manner. That is, computer system performance monitoring optimally is transparent to computer system users.
There are a number of obstacles to reaching these goals. First, conventional performance monitoring tools are limited because they are susceptible to mistakes. This is because conventional performance monitoring involves considerable human interface, as well as other semi-automated sub-processes. Conventional performance monitoring and trend analysis of computer systems that have dissimilar operating systems invariably requires manual examination of raw performance data, as well as manual trend analysis.
Second, conventional performance monitoring is limited because it is labor intensive. Because there may be a different operating systems for each individual computer system resource and because each piece of equipment may have unique communication requirements depending on the particular manufacturer, a different performance monitoring tool may have to be designed for each individual operating system or piece of equipment.
Today, computer system network managers are increasing the complexity of their network to meet (actual or anticipated) user demands and to take advantage of emerging technologies. Moreover, both the efficiency and the integrity of the conventional process of performance monitoring would be greatly improved if an automated system for gathering and trending performance data were provided. In order to meet the challenges presented now and in the future, what is needed is a computer performance monitoring and graphing tool that reduces the amount of time and the risks of errors, and also functions regardless of the operating systems in use.